"use strict"
function arrLength() {
    var arr=[1,2,3];
    alert(arr.length);
    arr.length=6;
    alert(arr);//arr变为[1,2,3，undefined,undefined,undefined]
    arr.length=2;
    alert(arr);//arr变为[1,2]
}

function indexValue() {
    //通过索引把对应的元素修改为新的值
    var arr=['A','B','C'];
     arr[1]=99;
    // alert(arr[1]);//arr变为['A',99,'C']
    arr[5]=20;
    alert(arr);//arr变为['A',99，'C',undeefined,undefined,20]

}

function indexOf() {
    //通过indexOf()来搜索一个指定的元素的位置
    var arr=[1,2,3,4,5,6,'6'];
    //alert(arr.length);//arr的长度为7
    alert(arr.indexOf(4));//元素为4的索引为3
    alert(arr.indexOf(6));//元素为6的索引为5
    alert(arr.indexOf('6'));//元素为'6'的索引为6
    alert(arr.indexOf(7));//元素为7没有找到，返回-1
}

function slice() {
    //slice()就是对应String的substring()版本，它截取Array的部分元素，然后返回一个新的Array
    var arr=['where','are','you','from'];
    var arr1=[1,2,3,4,5,6,7,8];
    var arr2=['A','B','C','D','E','F','G','H'];
    //alert(arr.slice(0,2));
    //alert(arr1.slice(0,2));
    console.log(arr2.slice(0,3));//索引从0开始到索引3，但不包括3，输出为['A','B','C']
    console.log(arr2.slice(3));//索引从3开始到结束输出为['D','E','F','G','H']
}

//push和pop
function push() {
    //push()向Array的末尾添加若干元素
    var arr=[1,2];
    console.log(arr.push('a','b','c'));//返回arr的长度为5
    console.log(arr);//元素为[1,2,'a','b',c'']

}
function pop() {
    //pop()则把Array的最后一个元素删除掉
    var arr=[1,2,3,4,5];
    console.log(arr.pop());//pop()返回5
    console.log(arr)//[1,2,3,4]
}
function unshiftAndShift() {
    //如果要往Array的头部添加若干元素，使用unshift()方法，shift()方法则把Array的第一个元素删掉
    var arr=[1,2];
    arr.unshift('A','B');//返回arr的新长度4
    console.log(arr);//['A','B',1,2]
    console.log(arr.shift());//'A'
    console.log(arr);//['B',1,2]
     arr.shift();
     arr.shift();
     arr.shift();
    console.log(arr);//[]

    console.log(arr.shift());//空数组继续shift不会报错，而是返回undefined
    console.log(arr);

}
//sort
function sort() {
    //sort()可以对当前Array进行排序，它会直接修改当前Array的元素位置，直接调用时，按照默认顺序排序
    var arr=['B','C','A'];
    arr.sort();
    console.log(arr);//['A','B','C']
}

//reverse
function reverse() {
    //reverse()把整个Array的元素给掉个个，也就是反转
    var arr=['how','are','you'];
    arr.reverse();
    console.log(arr);//['you','are',''how]
}

//splice
function splice() {
    //splice()方法是修改Array的“万能方法”，它可以从指定的索引开始删除若干元素，然后再从该位置添加若干元素
    var arr=['Microsoft','Apple','Yahoo','AOL','Excite','Oracle'];
    //从索引2开始删除3个元素，然后再添加两个元素
    arr.splice(2,3,'Google','Facebook');//返回删除的元素['Yahoo','AOL','Excite']
    console.log(arr);//['Microsoft','Apple','Google','Facebook','Oracle']
    //只删除，不添加
    arr.splice(2,2);//['Google','Facebook']
    console.log(arr);//['Microsoft','Apple','Oracle']
    //只添加，不删除
    arr.splice(2,0,'Google','Facebook');//返回[],因为没有添加任何元素
    console.log(arr);
}

//concat
function concat() {
    //concat()方法把当前的Array和另一个Array连接起来，并返回一个新的Array
    var arr=[1,2,3];
    var arr1=[4,5,6];
    var add=arr.concat(arr1);
    console.log(add);
}
//join
function join() {
    //join()方法是一个非常实用的方法，它把当前Array的每个元素都用指定的字符串连接起来，然后返回连接后的字符串
    var arr=[1,2,3,'A','B'];
    console.log(arr.join('-'));//1-2-3-'A'-'B'
}

//多维数组
function MultidimensionalArray () {
    var arr=[[1,2],[300,400],'-'];
    var newArr=arr[1];
    console.log(newArr[1]);

}